package com.ruoyi.useradmin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.useradmin.domain.UaCollect;
import com.ruoyi.useradmin.domain.UaUser;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.page.PageDomain;
import java.util.List;

/**
 * @Description  
 * @author kemonvvv
 * @Date 2023-06-07 
 */
public interface IUaCollectService{


    /**
     * 全查询
     * 
     * @param pageDomain 分页信息
     * @param uaCollect 要查询的实体类
     * @return 结果
     */
    Page<UaCollect> getUaCollectPage(PageDomain pageDomain, UaCollect uaCollect);
    /**
     * 查询通过id
     * 
     * @param id 实体类的主键
     * @return 结果
     */
    UaCollect getUaCollectById(Long id);
    /**
     * 通过类查询的属性值 id列表
     * @param uaCollect
     * @return
     */
    List<Long> getIdListByUaCollect(UaCollect uaCollect);

    /**
     * 通过uaUser外键idList查询idList
     *
     * @param uaUserIdList 要查询的实体类
     * @return 结果
     **/
    List<Long> getIdListByUaUserIdList(List<Long> uaUserIdList);


    /**
     * 通过collectType外键idList查询idList
     *
     * @param collectTypeIdList 要查询的实体类
     * @return 结果
     **/
    List<Long> getIdListByCollectTypeIdList(List<Long> collectTypeIdList);


    /**
     * 添加
     * 
     * @param uaCollect 要添加的实体类
     * @return 结果
     */
    int insertUaCollect(UaCollect uaCollect);
    /**
     * 更新通过id进行更新一条
     * 
     * @param uaCollect 实体类
     * @return 结果
     */
    int updateUaCollectById(UaCollect uaCollect);
    /**
     * 删除通过id集合
     * 
     * @param idList id集合
     * @return 结果
     */
    int deleteUaCollectByIdList(List idList);
    /**
     * 查询无条件全部 用于导出
     * 
     * @return 结果
     */
    List<UaCollect> getUaCollectList();
     
}
